package com.fingard.dsp.bank.directbank.bankInterface;

import com.fingard.dsp.bank.reqrespobj.batchbill.*;
import com.fingard.dsp.bank.reqrespobj.batchbill.detail.RetAtsBillAddCancelSubmit;

/**
 * Created by F on 2019/10/21.
 */
public interface IBatchOpenBill {
    /**
     * 签发批次信息查询
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchQry batchQry(ReqBatchQry query) throws Exception;


    /**
     * 签发批次明细查询
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchInfoQry batchInfoQry(ReqBatchInfoQry query) throws Exception;

    /**
     * 添加签发批次
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchAddSubmit batchAddSubmit(ReqBatchAddSubmit query) throws Exception;


    /**
     * 修改签发批次
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchModSubmit batchModSubmit(ReqBatchModSubmit query) throws Exception;


    /**
     * 删除签发批次
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchDelSubmit batchDelSubmit(ReqBatchDelSubmit query) throws Exception;

    /**
     * 提交签发批次
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchSubmitApply batchSubmitApply(ReqBatchSubmitApply query) throws Exception;

    /**
     * 撤销签发批次
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatchSubmitCancel batchSubmitCancel(ReqBatchSubmitCancel query) throws Exception;

    /**
     * 新增票据明细
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBillAddSubmit billAddSubmit(ReqBillAddSubmit query) throws Exception;

    /**
     * 删除票据明细
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBillAddCancelSubmit billAddCancelSubmit(ReqBillAddCancelSubmit query) throws Exception;

    /**
     * 批量出票
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatOpenBillSubmit BatOpenBillSubmit(ReqBatOpenBillSubmit query) throws Exception;

    /**
     * 批量出票状态查询
     *
     * @param query
     * @return
     * @throws Exception
     */
    RetAtsBatOpenBillSubmitQry BatOpenBillSubmitQry(ReqBatOpenBillSubmitQry query) throws Exception;


    /**
     * 机构查询
     *
     * @param reqOrgQry
     * @return
     * @throws Exception
     */
    RetAtsOrgQry orgQry(ReqOrgQry reqOrgQry) throws Exception;


}
